<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->

<html>

<head>
    <meta charset="utf-8">
    <script src="lib/simpleRequire.js"></script>
    <script src="lib/config.js"></script>
</head>

<body>
    <style>
        html,
        body,
        #main {
            width: 100%;
            height: 100%;
        }

        #switchBtn {
            position: fixed;
            top: 20px;
            left: 20px;
        }

        #startAngle {
            position: fixed;
            top: 60px;
            left: 20px;
        }

        #startAngleLabel {
            position: fixed;
            top: 40px;
            left: 20px;
        }
    </style>
    <div id="main"></div>
    <button id="switchBtn">Switch to clockwise</button>
    <input id="startAngle" type="range" min="0" max="360" value="90" />
    <label for="startAngle" id="startAngleLabel">Start Angle: 90</label>
    <script>

        require([
            'echarts'
        ], function (echarts) {
            var currentDirection = 'anti-clockwise';
            var startAngle = 90;
            var switchBtn = document.getElementById('switchBtn');
            var startAngleInput = document.getElementById('startAngle');
            var startAngleLabel = document.getElementById('startAngleLabel');

            var chart = echarts.init(document.getElementById('main'));

            chart.setOption({
                tooltip: {
                    trigger: 'item'
                },
                legend: {
                    x: 'left',
                    data: ['图一', '图二', '图三']
                },
                radar: [
                    {
                        id: 'radar1',
                        indicator: [
                            { text: '指标一' },
                            { text: '指标二' },
                            { text: '指标三' },
                            { text: '指标四' },
                            { text: '指标五' }
                        ],
                        center: ['25%', 210],
                        radius: 150,
                        startAngle: 90,
                        splitNumber: 8,
                        name: {
                            formatter: '【{value}】',
                            textStyle: { color: 'red' }
                        },
                        scale: true
                    },
                    {
                        id: 'radar2',
                        indicator: [
                            {
                                text: '语文', max: 150, nameTextStyle: {
                                    color: '#000000', fontSize: 5
                                }
                            },
                            {
                                text: '数学', max: 150, axisLine: {
                                    lineStyle: {
                                        color: 'red'
                                    }
                                }
                            },
                            {
                                text: '英语', max: 150, axisLine: {
                                    lineStyle: {
                                        color: 'red'
                                    }
                                }
                            },
                            {
                                text: '物理', max: 120, axisLine: {
                                    lineStyle: {
                                        color: 'red'
                                    }
                                }
                            },
                            {
                                text: '化学', max: 108, axisLine: {
                                    lineStyle: {
                                        color: 'red'
                                    }
                                }
                            },
                            {
                                text: '生物', max: 72, axisLine: {
                                    lineStyle: {
                                        color: 'red'
                                    }
                                }
                            }
                        ],
                        center: ['75%', 210],
                        radius: 150
                    },
                    {
                        id: 'radar3',
                        indicator: [{
                            name: 'a',
                            max: 13
                        },
                        {
                            name: 'b',
                            max: 1,
                            min: 0
                        },
                        {
                            name: 'c',
                            max: 16000
                        },
                        {
                            name: 'd',
                            max: 30000
                        },
                        {
                            name: 'e',
                            max: 38000
                        },
                        {
                            name: 'f',
                            max: 52000
                        },
                        {
                            name: 'g',
                            max: 25000
                        }],
                        radius: 150
                    }
                ],
                series: [
                    {
                        name: '雷达图',
                        type: 'radar',
                        itemStyle: {
                            emphasis: {
                                // color: 各异,
                                lineStyle: {
                                    width: 4
                                }
                            }
                        },
                        data: [
                            {
                                value: [100, 8, 0.40, -80, 2000],
                                name: '图一',
                                symbol: 'diamond',
                                symbolSize: 20,
                                itemStyle: {
                                    normal: {
                                        lineStyle: {
                                            type: 'dashed'
                                        }
                                    }
                                }
                            },
                            {
                                value: [10, 3, 0.20, -100, 1000],
                                name: '图二',
                                itemStyle: {
                                    normal: {
                                        areaStyle: {
                                            type: 'default'
                                        }
                                    }
                                }
                            },
                            {
                                value: [20, 3, 0.3, -13.5, 3000],
                                name: '图三',
                                symbol: 'none',         // 拐点图形类型，非标准参数
                                itemStyle: {
                                    normal: {
                                        lineStyle: {
                                            type: 'dotted'
                                        }
                                    }
                                }
                            }
                        ]
                    },
                    {
                        name: '成绩单',
                        type: 'radar',
                        polarIndex: 1,
                        itemStyle: {
                            normal: {
                                areaStyle: {
                                    type: 'default'
                                }
                            }
                        },
                        data: [
                            {
                                value: [120, 118, 130, 100, 99, 70],
                                name: '张三',
                                itemStyle: {
                                    normal: {
                                        label: {
                                            show: true,
                                            formatter: function (params) {
                                                return params.value;
                                            }
                                        }
                                    }
                                }
                            },
                            {
                                value: [90, 113, 140, 30, 70, 60],
                                name: '李四',
                                itemStyle: {
                                    normal: {
                                        lineStyle: {
                                            type: 'dashed'
                                        }
                                    }
                                }
                            }
                        ]
                    },
                    {
                        name: 'join',
                        polarIndex: 2,
                        type: 'radar',
                        data: [{
                            value: [
                                3,
                                1,
                                1,
                                53,
                                66,
                                18,
                                0.0121
                            ]
                        }]
                    }
                ]
            });

            switchBtn.addEventListener('click', function () {
                switchBtn.textContent = 'Switch to ' + currentDirection;
                currentDirection = currentDirection === 'clockwise' ? 'anti-clockwise' : 'clockwise';
                chart.setOption({
                    radar: [{
                        id: 'radar1',
                        clockwise: currentDirection === 'clockwise'
                    }, {
                        id: 'radar2',
                        clockwise: currentDirection === 'clockwise'
                    }, {
                        id: 'radar3',
                        clockwise: currentDirection === 'clockwise'
                    }]
                });
            });

            startAngleInput.addEventListener('input', function () {
                startAngle = parseInt(startAngleInput.value);
                startAngleLabel.textContent = 'Start Angle: ' + startAngle;
                chart.setOption({
                    radar: [{
                        id: 'radar1',
                        startAngle: startAngle
                    }, {
                        id: 'radar2',
                        startAngle: startAngle
                    }, {
                        id: 'radar3',
                        startAngle: startAngle
                    }]
                }, {
                    slient: true
                });
            });
        });

    </script>
</body>

</html>